/*
 * aria.h
 *
 * header file for the ARIA block cipher
 *
 */

#ifndef __openstack_srtp_ARIA_H__
#define __openstack_srtp_ARIA_H__

#include "config.h"

#include "datatypes.h"
#include "gf2_8.h"

/* aria internals */

/**
 * we are using 128 bits key size.
 */
typedef v128_t aria_expanded_key_t[13];

void aria_expand_encryption_key(const v128_t *key, aria_expanded_key_t expanded_key);

void aria_expand_decryption_key(const v128_t *key, aria_expanded_key_t expanded_key); 

void aria_encrypt(v128_t *plaintext, const aria_expanded_key_t exp_key);

void aria_decrypt(v128_t *plaintext, const aria_expanded_key_t exp_key);

#endif /* _AES_H */
